package validadores;

import java.util.regex.Pattern;

import modelo.Persona;

import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;

public class ValidadorPersona implements Validator{
	public boolean supports(Class<?> clazz) {
		return Persona.class.isAssignableFrom(clazz);
	}

	public void validate(Object target, Errors errors) {
		ValidationUtils.rejectIfEmptyOrWhitespace(errors, "nombre", "required.nombre");
		ValidationUtils.rejectIfEmptyOrWhitespace(errors, "apellido", "required.apellido");
		
		Persona persona = (Persona)target;
		String numeroTelefonico = "^([0-9]*+[$1-]?+)*+$";
		if (!Pattern.matches(persona.getTelefono(), numeroTelefonico))
			errors.rejectValue("telefono", "format.telefono");
	}
}